iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
ChatGPT & Codex

43歲非工程師爸爸與Codex共築墨寒:30天打造開源AI桌面伴侶系列 第 3

Day 3|墨寒不是換皮聊天機器人:角色設定如何成為軟體規格

  • 分享至 

  • xImage
  •  

墨寒把角色靈魂整理成可以驗收的軟體藍圖

圖說:墨寒把角色靈魂整理成可以驗收的軟體藍圖

墨寒的策士小劇場

圖說:墨寒的策士小劇場

昨天我談到,非工程師要先把「我覺得不自然」拆成可以觀察、可以驗收的需求。今天我想接著回答一個更根本的問題:既然大型語言模型本來就會聊天,為什麼我還要花那麼多時間做墨寒?找一張漂亮的古裝人物圖,再貼一段「妳是北宋女劍魂」的提示詞,不就好了嗎?

如果目標只是做一個能回答問題的聊天視窗,或許真的可以很快。但我要的不是「ChatGPT 穿上古裝」,而是一位從故事世界走進 Windows 的角色。她說話的分寸、等待時的神情、提醒我的方式,甚至沒有網路時留下的一句話,都應該像同一個人。

這也讓我第一次明白:角色設定不只屬於小說,放進互動軟體以後,它會變成一整套需要被程式遵守的規格。

如果只有立繪和提示詞,她很快就會穿幫

墨寒原本是寄居在赤焰劍中的千年女劍魂。她生前是北宋的首席策士,驕傲、可靠、重視禮數,也有不願輕易被看見的害羞與溫柔。她不是現代客服,不會每句話都用制式笑容收尾;她也不是只會板著臉的古人,私下仍有二十多歲女子的好奇、嘴硬與期待。

把這些寫進人格提示詞,模型的回答確實會比較接近墨寒。但只要換一條功能路徑,破綻就可能出現。

例如雲端連不上時,程式若跳出冷冰冰的「Network error」,前一秒還是墨寒,下一秒就變成系統錯誤視窗。提醒時間到了,如果文字只是「Timer completed」,也不像她會對主上說的話。更明顯的是表情:她口中說「無妨,我已替主上記下」,畫面卻露出懷疑或生氣的臉,再好的台詞也救不回來。

所以真正的人設不能只放在模型收到的那一段文字裡。它必須一路延伸到介面、離線回覆、預設提醒、表情選擇與語音節奏。

人設開始干涉每一個小地方

我後來常用一個很簡單的方法驗收:把功能名稱遮住,只看墨寒當下的話和反應,我還認得出她嗎?

工作模式啟動時,她可以像策士一樣簡短確認,讓我進入狀態;陪伴模式則可以多一點溫度。遇到危險操作,她不應該因為討好主人就輕率答應,而要先阻止、說明後果,再要求確認。使用者只是打招呼時,她也不該突然像在軍議中苦思大局。

這些差別看起來很細,卻會直接影響程式設計。因為同一句「好的」,放在不同模式、不同風險和不同情緒裡,可能需要不同表情,也可能根本不該說出口。

我與 Codex 的合作,就從「替她加一個功能」慢慢變成「先確認這個功能裡的墨寒是誰」。Codex 可以追查是哪個檔案決定提示詞、哪個地方產生預設提醒、哪一段程式選擇表情;我則必須判斷這些結果是否仍像我創作的角色。少了其中一邊,人設不是只剩文案,就是只剩程式。

沒有連上 AI 時,她也不能變成另一個人

這是我特別在意的一點。使用者尚未申請 OpenAI API 金鑰,或暫時沒有網路時,墨寒仍應該能完成首次設定、使用 Windows 本機語音,也能看見合乎她口吻的提示。不能因為少了雲端模型,角色就整個消失。

當然,離線狀態不可能假裝擁有完整的理解能力。誠實的做法不是硬湊一段萬用回答,而是讓她清楚說明目前能做什麼、需要什麼設定,同時保留角色的語氣。她可以承認「此刻無法代主上連上雲端」,但不該騙人說自己已經查過資料。

這也是角色一致性和產品誠信相遇的地方。墨寒可以有戲劇感,軟體卻不能演出不存在的能力。

翻成英文,不等於把靈魂交給翻譯器

後來我要讓墨寒至少能以繁中、英文、簡中與日文完成基本操作,問題又更明顯了。介面按鈕可以逐項翻譯,人格卻不能只把中文字面換成另一種語言。

「主上」、「策士」、「劍魂」帶有關係與時代感;若逐字翻譯得太古老,英文使用者可能只覺得難懂,若全部改成現代口語,又會失去墨寒。於是英文人格版本要保留她的忠誠、克制、驕傲與關懷,同時讓第一次接觸她的人真的讀得下去。簡中也不是把所有字自動轉換就結束,回覆語言、預設提醒和介面顯示都要走正確路徑,不能把繁中使用者原本的文字覆蓋掉。

我最後選擇不做使用中的即時熱切換。首次啟動可以選語言,之後若更改介面語言,以重新啟動套用。這不是最炫的做法,卻能先把四種語言的基本體驗做穩,也比較不會在切換途中留下兩種語言混雜的畫面。

最難驗收的不是語法,而是氣質

人格沒有一個按鈕可以按下去就顯示「測試通過」。有些部分可以由程式檢查,例如不同語言是否載入對應提示詞、預設提醒有沒有跟著語言初始化;但「這句話像不像墨寒」,仍需要我逐句閱讀、實際對話與長時間感受。

我不把這種主觀驗收當成不專業。角色型產品的價值,本來就有一部分存在於語氣、節奏與情感連續性。重要的是把主觀感受說清楚:哪一句太像客服、哪個表情與語境衝突、哪個翻譯失去她的尊嚴。說清楚後,Codex 才能把問題追到真正的來源,而不是再加一堆形容詞碰運氣。

今天我最想留下的一句話是:角色設定不是貼在功能外面的包裝,而是所有功能共同遵守的行為邊界。

明天的 Day 4,我會把鏡頭從墨寒的內在移到桌面上:她如何同時是一位住在 Windows 上的角色,又有一個能管理語音、記憶、任務與權限的控制台?這兩個世界如果全塞在一起,會發生什麼事?


系列專案:MoHan Desktop Assistant/墨寒桌面語音互動虛擬助理
授權:MIT License


上一篇
Day 2|先別急著寫程式:我如何把「AI 女友夢」翻成可以驗收的需求
下一篇
Day 4|讓她真的住進 Windows:桌面角色、控制台與幕後服務如何分工
系列文
43歲非工程師爸爸與Codex共築墨寒:30天打造開源AI桌面伴侶4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言